package com.brainhealth.customer.domain;

import com.brainhealth.common.enums.GoodsType;
import com.brainhealth.common.enums.PayRuleEnum;
import com.brainhealth.common.enums.ShowStatus;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.brainhealth.common.annotation.Excel;
import com.brainhealth.common.core.domain.BaseEntity;

/**
 * 商城商品信息对象 score_mall_goods
 * 
 * @author wolong
 * @date 2023-11-01
 */
public class ScoreMallGoods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long goodsId;

    /** 商品分类表主键 */
    @Excel(name = "商品分类表主键")
    private Long categoryId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 商品名称 */
    @Excel(name = "商品简称")
    private String goodsShortName;

    /** 图片地址 */
    @Excel(name = "图片地址")
    private String goodsImg;

    /** 图片地址 */
    @Excel(name = "小图片地址")
    private String goodsSmallImg;

    /** 图片地址 */
    @Excel(name = "大图片地址")
    private String goodsBigImg;

    /** 商品描述 */
    @Excel(name = "商品描述")
    private String goodsDesc;

    /** 商品使用说明 */
    @Excel(name = "商品使用说明")
    private String goodsInstructions;

    /** 支付规则 (0：积分 1：现金 2：积分+现金） */
    @Excel(name = "支付规则 (0：积分 1：现金 2：积分+现金）")
    private PayRuleEnum payRule;

    /** 商品积分数 */
    @Excel(name = "商品积分数")
    private Long goodsScore;

    /** 商品现金（单位:分） */
    @Excel(name = "商品现金", readConverterExp = "单=位:分")
    private Long goodsMoney;

    /** 商品状态（0：下架 1：在售） */
    @Excel(name = "商品状态", readConverterExp = "0=：下架,1=：在售")
    private ShowStatus goodsStatus;
    @Excel(name = "商品类型")
    private GoodsType goodsType;

    /** 商品信息道具显示层级 */
    @Excel(name = "数值排序")
    private Integer layer;

    /** 删除标志(0：未删除 1：已删除) */
    @Excel(name = "删除标志(0：未删除 1：已删除)")
    private Integer yn;

    private boolean isHave;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }
    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }
    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }
    public void setGoodsImg(String goodsImg) 
    {
        this.goodsImg = goodsImg;
    }

    public String getGoodsShortName()
    {
        return goodsShortName;
    }

    public void setGoodsShortName(String goodsShortName)
    {
        this.goodsShortName = goodsShortName;
    }

    public String getGoodsImg()
    {
        return goodsImg;
    }
    public void setGoodsDesc(String goodsDesc) 
    {
        this.goodsDesc = goodsDesc;
    }

    public String getGoodsSmallImg()
    {
        return goodsSmallImg;
    }

    public void setGoodsSmallImg(String goodsSmallImg)
    {
        this.goodsSmallImg = goodsSmallImg;
    }

    public String getGoodsBigImg()
    {
        return goodsBigImg;
    }

    public void setGoodsBigImg(String goodsBigImg)
    {
        this.goodsBigImg = goodsBigImg;
    }

    public String getGoodsDesc()
    {
        return goodsDesc;
    }
    public void setGoodsInstructions(String goodsInstructions) 
    {
        this.goodsInstructions = goodsInstructions;
    }

    public String getGoodsInstructions() 
    {
        return goodsInstructions;
    }

    public PayRuleEnum getPayRule()
    {
        return payRule;
    }

    public void setPayRule(PayRuleEnum payRule)
    {
        this.payRule = payRule;
    }

    public void setGoodsScore(Long goodsScore)
    {
        this.goodsScore = goodsScore;
    }

    public Long getGoodsScore() 
    {
        return goodsScore;
    }
    public void setGoodsMoney(Long goodsMoney) 
    {
        this.goodsMoney = goodsMoney;
    }

    public Long getGoodsMoney() 
    {
        return goodsMoney;
    }

    public ShowStatus getGoodsStatus()
    {
        return goodsStatus;
    }

    public GoodsType getGoodsType()
    {
        return goodsType;
    }

    public void setGoodsType(GoodsType goodsType)
    {
        this.goodsType = goodsType;
    }

    public void setGoodsStatus(ShowStatus goodsStatus)
    {
        this.goodsStatus = goodsStatus;
    }

    public void setYn(Integer yn)
    {
        this.yn = yn;
    }

    public Integer getYn() 
    {
        return yn;
    }

    public Integer getLayer()
    {
        return layer;
    }

    public void setLayer(Integer layer)
    {
        this.layer = layer;
    }

    public boolean isHave()
    {
        return isHave;
    }

    public void setHave(boolean have)
    {
        isHave = have;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("goodsId", getGoodsId())
            .append("categoryId", getCategoryId())
            .append("goodsName", getGoodsName())
            .append("goodsImg", getGoodsImg())
            .append("goodsDesc", getGoodsDesc())
            .append("goodsInstructions", getGoodsInstructions())
            .append("payRule", getPayRule())
            .append("goodsScore", getGoodsScore())
            .append("goodsMoney", getGoodsMoney())
            .append("goodsStatus", getGoodsStatus())
            .append("yn", getYn())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
